﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class DataConnectionBase
   | FastReport OpenSource Class Reference </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class DataConnectionBase
   | FastReport OpenSource Class Reference ">
    <meta name="generator" content="docfx 2.45.1.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="FastReport.Data.DataConnectionBase">
  
  
  <h1 id="FastReport_Data_DataConnectionBase" data-uid="FastReport.Data.DataConnectionBase" class="text-break">Class DataConnectionBase
  </h1>
  <div class="markdown level0 summary"><p>The base class for all data connection components such as <see cref="!:MsSqlDataConnection"></see>.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="FastReport.Base.html">Base</a></div>
    <div class="level2"><a class="xref" href="FastReport.Data.DataComponentBase.html">DataComponentBase</a></div>
    <div class="level3"><span class="xref">DataConnectionBase</span></div>
      <div class="level4"><a class="xref" href="FastReport.Data.CsvDataConnection.html">CsvDataConnection</a></div>
      <div class="level4"><a class="xref" href="FastReport.Data.JsonConnection.JsonDataSourceConnection.html">JsonDataSourceConnection</a></div>
      <div class="level4"><a class="xref" href="FastReport.Data.XmlDataConnection.html">XmlDataConnection</a></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="FastReport.IFRSerializable.html">IFRSerializable</a></div>
    <div><a class="xref" href="FastReport.IParent.html">IParent</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_Alias">DataComponentBase.Alias</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_Enabled">DataComponentBase.Enabled</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_ReferenceName">DataComponentBase.ReferenceName</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_Reference">DataComponentBase.Reference</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_IsAliased">DataComponentBase.IsAliased</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_Assign_FastReport_Base_">DataComponentBase.Assign(Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_SetName_System_String_">DataComponentBase.SetName(String)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_InitializeComponent">DataComponentBase.InitializeComponent()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Name">Base.Name</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Restrictions">Base.Restrictions</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Flags">Base.Flags</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Parent">Base.Parent</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_BaseName">Base.BaseName</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_ClassName">Base.ClassName</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Report">Base.Report</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Page">Base.Page</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_ChildObjects">Base.ChildObjects</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_AllObjects">Base.AllObjects</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_ZOrder">Base.ZOrder</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_IsAncestor">Base.IsAncestor</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_IsDesigning">Base.IsDesigning</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_IsPrinting">Base.IsPrinting</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_IsRunning">Base.IsRunning</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_OriginalComponent">Base.OriginalComponent</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_SetProp_FastReport_Base_FastReport_Base_">Base.SetProp(Base, Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_FloatDiff_System_Single_System_Single_">Base.FloatDiff(Single, Single)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_DeserializeSubItems_FastReport_Utils_FRReader_">Base.DeserializeSubItems(FRReader)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_ExtractDefaultMacros_System_String_">Base.ExtractDefaultMacros(String)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_SetFlags_FastReport_Flags_System_Boolean_">Base.SetFlags(Flags, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_SetReport_FastReport_Report_">Base.SetReport(Report)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_SetParent_FastReport_Base_">Base.SetParent(Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_SetParentCore_FastReport_Base_">Base.SetParentCore(Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_FindObject_System_String_">Base.FindObject(String)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_CreateUniqueName">Base.CreateUniqueName()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Clear">Base.Clear()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_Deserialize_FastReport_Utils_FRReader_">Base.Deserialize(FRReader)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_BaseAssign_FastReport_Base_">Base.BaseAssign(Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_AssignAll_FastReport_Base_">Base.AssignAll(Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_HasParent_FastReport_Base_">Base.HasParent(Base)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_HasFlag_FastReport_Flags_">Base.HasFlag(Flags)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_HasRestriction_FastReport_Restrictions_">Base.HasRestriction(Restrictions)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_InvokeEvent_System_String_System_Object_">Base.InvokeEvent(String, Object)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_OnAfterLoad">Base.OnAfterLoad()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_GetCustomScript">Base.GetCustomScript()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_ExtractMacros">Base.ExtractMacros()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_IsHaveToConvert_System_Object_">Base.IsHaveToConvert(Object)</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_GetConvertedObjects">Base.GetConvertedObjects()</a>
    </div>
    <div>
      <a class="xref" href="FastReport.Base.html#FastReport_Base_ForEachAllConvectedObjects_System_Object_">Base.ForEachAllConvectedObjects(Object)</a>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="FastReport.Data.html">FastReport.Data</a></h6>
  <h6><strong>Assembly</strong>: FastReport.OpenSource.dll</h6>
  <h5 id="FastReport_Data_DataConnectionBase_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class DataConnectionBase : DataComponentBase, IFRSerializable, IParent</code></pre>
  </div>
  <h5 id="FastReport_Data_DataConnectionBase_examples"><strong>Examples</strong></h5>
  <p>This example shows how to add a new MS Access connection to the report.</p>
<pre><code>Report report1;
MsAccessDataConnection conn = new MsAccessDataConnection();
conn.DataSource = @&quot;c:\data.mdb&quot;;
report1.Dictionary.Connections.Add(conn);
conn.CreateAllTables();</code></pre>

  <h3 id="constructors">Constructors
  </h3>
  
  
  <a id="FastReport_Data_DataConnectionBase__ctor_" data-uid="FastReport.Data.DataConnectionBase.#ctor*"></a>
  <h4 id="FastReport_Data_DataConnectionBase__ctor" data-uid="FastReport.Data.DataConnectionBase.#ctor">DataConnectionBase()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="FastReport.Data.DataConnectionBase.html">DataConnectionBase</a> class with default settings.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataConnectionBase()</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  
  
  <a id="FastReport_Data_DataConnectionBase_CommandTimeout_" data-uid="FastReport.Data.DataConnectionBase.CommandTimeout*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CommandTimeout" data-uid="FastReport.Data.DataConnectionBase.CommandTimeout">CommandTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the command timeout, in seconds.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int CommandTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_ConnectionString_" data-uid="FastReport.Data.DataConnectionBase.ConnectionString*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_ConnectionString" data-uid="FastReport.Data.DataConnectionBase.ConnectionString">ConnectionString</h4>
  <div class="markdown level1 summary"><p>Gets or sets a connection string that contains all connection parameters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string ConnectionString { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_ConnectionString_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>To modify some parameter of the connection, use respective 
<strong>ConnectionStringBuilder</strong> class.</p>
<p><strong>Security note:</strong> the connection string may contain a user name/password. 
This information is stored in a report file. By default, it is crypted using the standard
FastReport&apos;s password. Since FastReport&apos;s source code is available to anyone who paid for it,
it may be insecure to use the standard password. For more security, you should use own
password. To do this, specify it in the <strong>Crypter.DefaultPassword</strong> property.</p>
</div>
  <h5 id="FastReport_Data_DataConnectionBase_ConnectionString_examples">Examples</h5>
  <p>This example demonstrates how to change a connection string:</p>
<pre><code>OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(oleDbConnection1.ConnectionString);
builder.PersistSecurityInfo = false;
oleDbConnection1.ConnectionString = builder.ToString();</code></pre>

  
  
  <a id="FastReport_Data_DataConnectionBase_ConnectionStringExpression_" data-uid="FastReport.Data.DataConnectionBase.ConnectionStringExpression*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_ConnectionStringExpression" data-uid="FastReport.Data.DataConnectionBase.ConnectionStringExpression">ConnectionStringExpression</h4>
  <div class="markdown level1 summary"><p>Gets or sets an expression that returns a connection string.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string ConnectionStringExpression { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_ConnectionStringExpression_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Use this property to set the connection string dynamically.</p>
<p>The recommended way to do this is to define a report parameter. You can do this in the 
&quot;Data&quot; window. Once you have defined the parameter, you can use it to pass a value 
to the connection. Set the <strong>ConnectionStringExpression</strong> property of the
connection object to the report parameter&apos;s name (so it will look like [myReportParam]).
To pass a value to the report parameter from your application, use the 
<a class="xref" href="FastReport.Report.html#FastReport_Report_SetParameterValue_System_String_System_Object_">SetParameterValue(String, Object)</a> method.
<div class="CAUTION"><h5>caution</h5><p>
Once you set value for this property, the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_ConnectionString">ConnectionString</a> property will be ignored 
when report is run.
</p></div>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_DataSet_" data-uid="FastReport.Data.DataConnectionBase.DataSet*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_DataSet" data-uid="FastReport.Data.DataConnectionBase.DataSet">DataSet</h4>
  <div class="markdown level1 summary"><p>Gets an internal <strong>DataSet</strong> object that contains all data tables.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataSet DataSet { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DataSet</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_IsSqlBased_" data-uid="FastReport.Data.DataConnectionBase.IsSqlBased*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_IsSqlBased" data-uid="FastReport.Data.DataConnectionBase.IsSqlBased">IsSqlBased</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicates if this connection is SQL-based.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsSqlBased { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_LoginPrompt_" data-uid="FastReport.Data.DataConnectionBase.LoginPrompt*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_LoginPrompt" data-uid="FastReport.Data.DataConnectionBase.LoginPrompt">LoginPrompt</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether a login dialog appears immediately before opening a connection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool LoginPrompt { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_LoginPrompt_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Set <strong>LoginPrompt</strong> to <strong>true</strong> to provide login dialog when establishing a connection. If this
property is <strong>false</strong> (by default), you should provide login information (user name and password)
in the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_ConnectionString">ConnectionString</a> property. Though that property is stored in a crypted form,
this may be insecure.</p>
<p>Another way to pass login information to the connection is to use
<a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_ConnectionStringExpression">ConnectionStringExpression</a> property that is bound to the report parameter. In that
case you supply the entire connection string from your application.
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_Tables_" data-uid="FastReport.Data.DataConnectionBase.Tables*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_Tables" data-uid="FastReport.Data.DataConnectionBase.Tables">Tables</h4>
  <div class="markdown level1 summary"><p>Gets a collection of data tables in this connection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TableCollection Tables { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Data.TableCollection.html">TableCollection</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_Tables_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>To add a table to the connection, you must either create a new TableDataSource and add it
to this collection or call the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_CreateAllTables">CreateAllTables()</a> method which will add
all tables available in the database.</p>
</div>
  <h3 id="methods">Methods
  </h3>
  
  
  <a id="FastReport_Data_DataConnectionBase_AddChild_" data-uid="FastReport.Data.DataConnectionBase.AddChild*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_AddChild_FastReport_Base_" data-uid="FastReport.Data.DataConnectionBase.AddChild(FastReport.Base)">AddChild(Base)</h4>
  <div class="markdown level1 summary"><p>Adds a child object to this object's childs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void AddChild(Base child)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Base.html">Base</a></td>
        <td><span class="parametername">child</span></td>
        <td><p>Object to add.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_CanContain_" data-uid="FastReport.Data.DataConnectionBase.CanContain*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CanContain_FastReport_Base_" data-uid="FastReport.Data.DataConnectionBase.CanContain(FastReport.Base)">CanContain(Base)</h4>
  <div class="markdown level1 summary"><p>Gets a value indicating that this object can contain the specified child object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool CanContain(Base child)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Base.html">Base</a></td>
        <td><span class="parametername">child</span></td>
        <td><p>Child object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p><strong>true</strong> if this object can contain the specified child object; otherwise, <strong>false</strong>.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_CreateAllTables_" data-uid="FastReport.Data.DataConnectionBase.CreateAllTables*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CreateAllTables" data-uid="FastReport.Data.DataConnectionBase.CreateAllTables">CreateAllTables()</h4>
  <div class="markdown level1 summary"><p>Fills the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_Tables">Tables</a> collection with all tables available in the database.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void CreateAllTables()</code></pre>
  </div>
  <h5 id="FastReport_Data_DataConnectionBase_CreateAllTables_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method does not read the table data; to do this, call the
<a class="xref" href="FastReport.Data.TableDataSource.html#FastReport_Data_TableDataSource_LoadData_System_Collections_ArrayList_">LoadData(ArrayList)</a> method of each table.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_CreateAllTables_" data-uid="FastReport.Data.DataConnectionBase.CreateAllTables*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CreateAllTables_System_Boolean_" data-uid="FastReport.Data.DataConnectionBase.CreateAllTables(System.Boolean)">CreateAllTables(Boolean)</h4>
  <div class="markdown level1 summary"><p>Fills the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_Tables">Tables</a> collection with all tables available in the database.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void CreateAllTables(bool initSchema)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">initSchema</span></td>
        <td><p>Set to <strong>true</strong> to initialize each table's schema.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_CreateDataSet_" data-uid="FastReport.Data.DataConnectionBase.CreateDataSet*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CreateDataSet" data-uid="FastReport.Data.DataConnectionBase.CreateDataSet">CreateDataSet()</h4>
  <div class="markdown level1 summary"><p>Initializes a <strong>DataSet</strong> instance.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual DataSet CreateDataSet()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DataSet</span></td>
        <td><p>The <strong>DataSet</strong> object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_CreateDataSet_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method is used to support FastReport infrastructure. You don't need to use it.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_CreateRelations_" data-uid="FastReport.Data.DataConnectionBase.CreateRelations*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CreateRelations" data-uid="FastReport.Data.DataConnectionBase.CreateRelations">CreateRelations()</h4>
  <div class="markdown level1 summary"><p>Creates the relations between tables. Applies to XmlDataConnection only.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void CreateRelations()</code></pre>
  </div>
  
  
  <a id="FastReport_Data_DataConnectionBase_CreateTable_" data-uid="FastReport.Data.DataConnectionBase.CreateTable*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_CreateTable_FastReport_Data_TableDataSource_" data-uid="FastReport.Data.DataConnectionBase.CreateTable(FastReport.Data.TableDataSource)">CreateTable(TableDataSource)</h4>
  <div class="markdown level1 summary"><p>Creates table.
For internal use only.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void CreateTable(TableDataSource source)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Data.TableDataSource.html">TableDataSource</a></td>
        <td><span class="parametername">source</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_DeleteTable_" data-uid="FastReport.Data.DataConnectionBase.DeleteTable*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_DeleteTable_FastReport_Data_TableDataSource_" data-uid="FastReport.Data.DataConnectionBase.DeleteTable(FastReport.Data.TableDataSource)">DeleteTable(TableDataSource)</h4>
  <div class="markdown level1 summary"><p>Deletes table.
For internal use only.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void DeleteTable(TableDataSource source)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Data.TableDataSource.html">TableDataSource</a></td>
        <td><span class="parametername">source</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_Dispose_" data-uid="FastReport.Data.DataConnectionBase.Dispose*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_Dispose_System_Boolean_" data-uid="FastReport.Data.DataConnectionBase.Dispose(System.Boolean)">Dispose(Boolean)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected override void Dispose(bool disposing)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">disposing</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="FastReport.Base.html#FastReport_Base_Dispose_System_Boolean_">Base.Dispose(Boolean)</a></div>
  
  
  <a id="FastReport_Data_DataConnectionBase_DisposeConnection_" data-uid="FastReport.Data.DataConnectionBase.DisposeConnection*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_DisposeConnection_DbConnection_" data-uid="FastReport.Data.DataConnectionBase.DisposeConnection(DbConnection)">DisposeConnection(DbConnection)</h4>
  <div class="markdown level1 summary"><p>Disposes a connection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void DisposeConnection(DbConnection connection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DbConnection</span></td>
        <td><span class="parametername">connection</span></td>
        <td><p>The connection to dispose.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_DisposeDataSet_" data-uid="FastReport.Data.DataConnectionBase.DisposeDataSet*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_DisposeDataSet" data-uid="FastReport.Data.DataConnectionBase.DisposeDataSet">DisposeDataSet()</h4>
  <div class="markdown level1 summary"><p>Disposes a <strong>DataSet</strong>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected void DisposeDataSet()</code></pre>
  </div>
  <h5 id="FastReport_Data_DataConnectionBase_DisposeDataSet_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method is used to support FastReport infrastructure. You don't need to use it.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_FillTableData_" data-uid="FastReport.Data.DataConnectionBase.FillTableData*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_FillTableData_DataTable_System_String_FastReport_Data_CommandParameterCollection_" data-uid="FastReport.Data.DataConnectionBase.FillTableData(DataTable,System.String,FastReport.Data.CommandParameterCollection)">FillTableData(DataTable, String, CommandParameterCollection)</h4>
  <div class="markdown level1 summary"><p>Fills the table data.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void FillTableData(DataTable table, string selectCommand, CommandParameterCollection parameters)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DataTable</span></td>
        <td><span class="parametername">table</span></td>
        <td><p>DataTable to fill.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">selectCommand</span></td>
        <td><p>The SQL select command.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="FastReport.Data.CommandParameterCollection.html">CommandParameterCollection</a></td>
        <td><span class="parametername">parameters</span></td>
        <td><p>SQL parameters.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_FillTableData_DataTable_System_String_FastReport_Data_CommandParameterCollection__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Usually you don't need to use this method. Internally it uses the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_GetConnection">GetConnection()</a> and
<a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_GetAdapter_System_String_DbConnection_FastReport_Data_CommandParameterCollection_">GetAdapter(String, DbConnection, CommandParameterCollection)</a> methods to fill the table data. If you create own connection component
that does not use nor connection or adapter, then you need to override this method.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_FillTableSchema_" data-uid="FastReport.Data.DataConnectionBase.FillTableSchema*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_FillTableSchema_DataTable_System_String_FastReport_Data_CommandParameterCollection_" data-uid="FastReport.Data.DataConnectionBase.FillTableSchema(DataTable,System.String,FastReport.Data.CommandParameterCollection)">FillTableSchema(DataTable, String, CommandParameterCollection)</h4>
  <div class="markdown level1 summary"><p>Fills the table schema.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void FillTableSchema(DataTable table, string selectCommand, CommandParameterCollection parameters)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DataTable</span></td>
        <td><span class="parametername">table</span></td>
        <td><p>DataTable to fill.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">selectCommand</span></td>
        <td><p>The SQL select command.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="FastReport.Data.CommandParameterCollection.html">CommandParameterCollection</a></td>
        <td><span class="parametername">parameters</span></td>
        <td><p>SQL parameters.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_FillTableSchema_DataTable_System_String_FastReport_Data_CommandParameterCollection__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Usually you don't need to use this method. Internally it uses the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_GetConnection">GetConnection()</a> and
<a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_GetAdapter_System_String_DbConnection_FastReport_Data_CommandParameterCollection_">GetAdapter(String, DbConnection, CommandParameterCollection)</a> methods to fill the table schema. If you create own connection component
that does not use nor connection or adapter, then you need to override this method.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetAdapter_" data-uid="FastReport.Data.DataConnectionBase.GetAdapter*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetAdapter_System_String_DbConnection_FastReport_Data_CommandParameterCollection_" data-uid="FastReport.Data.DataConnectionBase.GetAdapter(System.String,DbConnection,FastReport.Data.CommandParameterCollection)">GetAdapter(String, DbConnection, CommandParameterCollection)</h4>
  <div class="markdown level1 summary"><p>Returns a <see cref="!:DbDataAdapter"></see> object that is specific to this connection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual DbDataAdapter GetAdapter(string selectCommand, DbConnection connection, CommandParameterCollection parameters)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">selectCommand</span></td>
        <td><p>The SQL command used to fetch a table data rows.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">DbConnection</span></td>
        <td><span class="parametername">connection</span></td>
        <td><p>The connection object.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="FastReport.Data.CommandParameterCollection.html">CommandParameterCollection</a></td>
        <td><span class="parametername">parameters</span></td>
        <td><p>The select command parameters.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DbDataAdapter</span></td>
        <td><p>The <strong>DbDataAdapter</strong> object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_GetAdapter_System_String_DbConnection_FastReport_Data_CommandParameterCollection__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>You should override this method if you are developing a new connection component. In this method,
you need to create the adapter and set its <strong>SelectCommand</strong>'s parameters.</p>
<p>If your connection does not use data adapter, you need to override 
the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_FillTableSchema_DataTable_System_String_FastReport_Data_CommandParameterCollection_">FillTableSchema(DataTable, String, CommandParameterCollection)</a> and <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_FillTableData_DataTable_System_String_FastReport_Data_CommandParameterCollection_">FillTableData(DataTable, String, CommandParameterCollection)</a> methods instead.
</div>
  <h5 id="FastReport_Data_DataConnectionBase_GetAdapter_System_String_DbConnection_FastReport_Data_CommandParameterCollection__examples">Examples</h5>
  <p>Here is the example of this method implementation:</p>
<pre><code>public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection,
  CommandParameterCollection parameters)
{
  OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection as OleDbConnection);
  foreach (CommandParameter p in parameters)
  {
    OleDbParameter parameter = adapter.SelectCommand.Parameters.Add(p.Name, (OleDbType)p.DataType, p.Size);
    parameter.Value = p.Value;
  }
  return adapter;
}</code></pre>

  
  
  <a id="FastReport_Data_DataConnectionBase_GetChildObjects_" data-uid="FastReport.Data.DataConnectionBase.GetChildObjects*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetChildObjects_FastReport_ObjectCollection_" data-uid="FastReport.Data.DataConnectionBase.GetChildObjects(FastReport.ObjectCollection)">GetChildObjects(ObjectCollection)</h4>
  <div class="markdown level1 summary"><p>Gets a list of child objects.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void GetChildObjects(ObjectCollection list)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.ObjectCollection.html">ObjectCollection</a></td>
        <td><span class="parametername">list</span></td>
        <td><p>List to fill with values.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetChildOrder_" data-uid="FastReport.Data.DataConnectionBase.GetChildOrder*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetChildOrder_FastReport_Base_" data-uid="FastReport.Data.DataConnectionBase.GetChildOrder(FastReport.Base)">GetChildOrder(Base)</h4>
  <div class="markdown level1 summary"><p>Returns z-order of the specified child object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int GetChildOrder(Base child)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Base.html">Base</a></td>
        <td><span class="parametername">child</span></td>
        <td><p>Child object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>Z-order of the specified object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_GetChildOrder_FastReport_Base__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method must return the index of a specified child object in the internal child list.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetConnection_" data-uid="FastReport.Data.DataConnectionBase.GetConnection*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetConnection" data-uid="FastReport.Data.DataConnectionBase.GetConnection">GetConnection()</h4>
  <div class="markdown level1 summary"><p>Returns a connection object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DbConnection GetConnection()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DbConnection</span></td>
        <td><p>The <strong>DbConnection</strong> instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_GetConnection_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Either creates a new <strong>DbConnection</strong> instance of type provided by the
<a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_GetConnectionType">GetConnectionType()</a> method, or returns the application connection if set
in the Config.DesignerSettings.ApplicationConnection.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetConnectionStringWithLoginInfo_" data-uid="FastReport.Data.DataConnectionBase.GetConnectionStringWithLoginInfo*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetConnectionStringWithLoginInfo_System_String_System_String_" data-uid="FastReport.Data.DataConnectionBase.GetConnectionStringWithLoginInfo(System.String,System.String)">GetConnectionStringWithLoginInfo(String, String)</h4>
  <div class="markdown level1 summary"><p>Gets a connection string that contains username and password specified.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual string GetConnectionStringWithLoginInfo(string userName, string password)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">userName</span></td>
        <td><p>User name.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">password</span></td>
        <td><p>Password.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_GetConnectionStringWithLoginInfo_System_String_System_String__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Override this method to pass login information to the connection. Typical implementation
must get the existing <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_ConnectionString">ConnectionString</a>, merge specified login information into it
and return the new value.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetConnectionType_" data-uid="FastReport.Data.DataConnectionBase.GetConnectionType*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetConnectionType" data-uid="FastReport.Data.DataConnectionBase.GetConnectionType">GetConnectionType()</h4>
  <div class="markdown level1 summary"><p>Returns a type of connection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual Type GetConnectionType()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Type</span></td>
        <td><p><strong>Type</strong> instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_GetConnectionType_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>You should override this method if you developing a new connection component.</p>
<p>If your connection component does not use data connection, you need to override 
the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_FillTableSchema_DataTable_System_String_FastReport_Data_CommandParameterCollection_">FillTableSchema(DataTable, String, CommandParameterCollection)</a> and <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_FillTableData_DataTable_System_String_FastReport_Data_CommandParameterCollection_">FillTableData(DataTable, String, CommandParameterCollection)</a> methods instead.
</div>
  <h5 id="FastReport_Data_DataConnectionBase_GetConnectionType_examples">Examples</h5>
  <p>Here is the example of this method implementation:</p>
<pre><code>public override Type GetConnectionType()
{
  return typeof(OleDbConnection);
}</code></pre>

  
  
  <a id="FastReport_Data_DataConnectionBase_GetExpressions_" data-uid="FastReport.Data.DataConnectionBase.GetExpressions*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetExpressions" data-uid="FastReport.Data.DataConnectionBase.GetExpressions">GetExpressions()</h4>
  <div class="markdown level1 summary"><p>Gets all expressions contained in the object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string[] GetExpressions()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span>[]</td>
        <td><p>Array of expressions or <strong>null</strong> if object contains no expressions.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="FastReport.Base.html#FastReport_Base_GetExpressions">Base.GetExpressions()</a></div>
  <h5 id="FastReport_Data_DataConnectionBase_GetExpressions_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Do not call this method directly. You may override it if you are developing a
  new component for FastReport.</p>
<p>
      This method is called by FastReport each time before run a report. FastReport
      do this to collect all expressions and compile them. For example,
<strong>GetExpressions</strong> method of the <a class="xref" href="FastReport.TextObject.html">TextObject</a> class
parses the text and returns all expressions found in the text.
</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetParameterType_" data-uid="FastReport.Data.DataConnectionBase.GetParameterType*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetParameterType" data-uid="FastReport.Data.DataConnectionBase.GetParameterType">GetParameterType()</h4>
  <div class="markdown level1 summary"><p>Gets the type of parameter that is specific to this connection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual Type GetParameterType()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Type</span></td>
        <td><p>The parameter's type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_GetParameterType_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This property is used in the report designer to display available data types when you edit the
connection parameters. For example, the type of OleDbConnection parameter is a <strong>OleDbType</strong>.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_GetTableNames_" data-uid="FastReport.Data.DataConnectionBase.GetTableNames*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_GetTableNames" data-uid="FastReport.Data.DataConnectionBase.GetTableNames">GetTableNames()</h4>
  <div class="markdown level1 summary"><p>Gets an array of table names available in the database.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual string[] GetTableNames()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span>[]</td>
        <td><p>An array of strings.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_OpenConnection_" data-uid="FastReport.Data.DataConnectionBase.OpenConnection*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_OpenConnection_DbConnection_" data-uid="FastReport.Data.DataConnectionBase.OpenConnection(DbConnection)">OpenConnection(DbConnection)</h4>
  <div class="markdown level1 summary"><p>Opens a specified connection object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void OpenConnection(DbConnection connection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">DbConnection</span></td>
        <td><span class="parametername">connection</span></td>
        <td><p>Connection to open.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_OpenConnection_DbConnection__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Use this method to open a connection returned by the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_GetConnection">GetConnection()</a> method.</p>
<p>This method displays a login dialog if your connection has the <a class="xref" href="FastReport.Data.DataConnectionBase.html#FastReport_Data_DataConnectionBase_LoginPrompt">LoginPrompt</a>
property set to <strong>true</strong>. Once you have entered an user name and password in
this dialog, it will remeber the entered values and will not used anymore in this report session.
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_QuoteIdentifier_" data-uid="FastReport.Data.DataConnectionBase.QuoteIdentifier*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_QuoteIdentifier_System_String_DbConnection_" data-uid="FastReport.Data.DataConnectionBase.QuoteIdentifier(System.String,DbConnection)">QuoteIdentifier(String, DbConnection)</h4>
  <div class="markdown level1 summary"><p>Quotes the specified DB identifier such as table name or column name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract string QuoteIdentifier(string value, DbConnection connection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>Identifier to quote.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">DbConnection</span></td>
        <td><span class="parametername">connection</span></td>
        <td><p>The opened DB connection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>The quoted identifier.</p>
</td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_RemoveChild_" data-uid="FastReport.Data.DataConnectionBase.RemoveChild*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_RemoveChild_FastReport_Base_" data-uid="FastReport.Data.DataConnectionBase.RemoveChild(FastReport.Base)">RemoveChild(Base)</h4>
  <div class="markdown level1 summary"><p>Removes a specified object from this object's childs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void RemoveChild(Base child)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Base.html">Base</a></td>
        <td><span class="parametername">child</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  
  
  <a id="FastReport_Data_DataConnectionBase_Serialize_" data-uid="FastReport.Data.DataConnectionBase.Serialize*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_Serialize_FastReport_Utils_FRWriter_" data-uid="FastReport.Data.DataConnectionBase.Serialize(FastReport.Utils.FRWriter)">Serialize(FRWriter)</h4>
  <div class="markdown level1 summary"><p>Serializes the object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void Serialize(FRWriter writer)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Utils.FRWriter.html">FRWriter</a></td>
        <td><span class="parametername">writer</span></td>
        <td><p>Writer object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="FastReport.Data.DataComponentBase.html#FastReport_Data_DataComponentBase_Serialize_FastReport_Utils_FRWriter_">DataComponentBase.Serialize(FRWriter)</a></div>
  <h5 id="FastReport_Data_DataConnectionBase_Serialize_FastReport_Utils_FRWriter__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Do not call this method directly. You should override it if you are
  developing a new component for FastReport.</p>
<p>This method is called when the object needs to save the state. It may happen
  when:</p>
<ul><li>saving the report to the file or stream;</li><li>saving the report to the designer&apos;s undo buffer;</li><li>
              assigning the object to another object using the
<a class="xref" href="FastReport.Base.html#FastReport_Base_Assign_FastReport_Base_">Assign(Base)</a> or <a class="xref" href="FastReport.Base.html#FastReport_Base_AssignAll_FastReport_Base_">AssignAll(Base)</a> methods;
</li><li>saving the object to the designer&apos;s clipboard;</li><li>saving the object to the preview (when run a
report).</li></ul>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_SetChildOrder_" data-uid="FastReport.Data.DataConnectionBase.SetChildOrder*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_SetChildOrder_FastReport_Base_System_Int32_" data-uid="FastReport.Data.DataConnectionBase.SetChildOrder(FastReport.Base,System.Int32)">SetChildOrder(Base, Int32)</h4>
  <div class="markdown level1 summary"><p>Sets the z-order of the specified object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void SetChildOrder(Base child, int order)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="FastReport.Base.html">Base</a></td>
        <td><span class="parametername">child</span></td>
        <td><p>Child object.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">order</span></td>
        <td><p>New Z-order.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_SetChildOrder_FastReport_Base_System_Int32__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method must place the specified child object at the specified position in the internal child list.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_SetConnectionString_" data-uid="FastReport.Data.DataConnectionBase.SetConnectionString*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_SetConnectionString_System_String_" data-uid="FastReport.Data.DataConnectionBase.SetConnectionString(System.String)">SetConnectionString(String)</h4>
  <div class="markdown level1 summary"><p>Sets the connection string.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual void SetConnectionString(string value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>New connection string.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_SetConnectionString_System_String__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Use this method if you need to perform some actions when the connection string is set.</p>
</div>
  
  
  <a id="FastReport_Data_DataConnectionBase_UpdateLayout_" data-uid="FastReport.Data.DataConnectionBase.UpdateLayout*"></a>
  <h4 id="FastReport_Data_DataConnectionBase_UpdateLayout_System_Single_System_Single_" data-uid="FastReport.Data.DataConnectionBase.UpdateLayout(System.Single,System.Single)">UpdateLayout(Single, Single)</h4>
  <div class="markdown level1 summary"><p>Updates the children layout when the size of this object is changed by dx, dy values.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void UpdateLayout(float dx, float dy)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Single</span></td>
        <td><span class="parametername">dx</span></td>
        <td><p>X delta.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Single</span></td>
        <td><span class="parametername">dy</span></td>
        <td><p>Y delta.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="FastReport_Data_DataConnectionBase_UpdateLayout_System_Single_System_Single__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This method must update positions/sizes of child objects whose <strong>Dock</strong> or <strong>Anchor</strong> properties
are set to non-default values.</p>
</div>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="FastReport.IFRSerializable.html">IFRSerializable</a>
  </div>
  <div>
      <a class="xref" href="FastReport.IParent.html">IParent</a>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
